package com.css.dzj.dzjap.modules.lawenforcesuper.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import net.bytebuddy.implementation.bind.annotation.BindingPriority;

import javax.persistence.*;
import java.sql.Timestamp;
import java.util.Date;
import java.util.Objects;

/**
 * 抽取专家表
 * @author liyunyue
 */
@Entity
@Table(name = "AP_EXPERT_REGULATOR_INFO", schema = "DZJAP", catalog = "")
public class ApExpertRegulatorInfoEntity {
    private String id;
    private String title;
    private Double countryRatio;
    private Integer regulatoryNum;
    private Date createTime;
    private String createPerson;
    private Date updateTime;
    private String updatePerson;
    private Double provinceRatio;
    private Double outProvinceRatio;
    private String major;
    private String delFlag;
    private String taskId;


    @Id
    @Column(name = "ID")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Basic
    @Column(name = "TITLE")
    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }


    @Basic
    @Column(name = "TASK_ID")
    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    @Basic
    @Column(name = "COUNTRY_RATIO")
    public Double getCountryRatio() {
        return countryRatio;
    }

    public void setCountryRatio(Double countryRatio) {
        this.countryRatio = countryRatio;
    }

    @Basic
    @Column(name = "REGULATORY_NUM")
    public Integer getRegulatoryNum() {
        return regulatoryNum;
    }

    public void setRegulatoryNum(Integer regulatoryNum) {
        this.regulatoryNum = regulatoryNum;
    }


    @Basic
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    @Column(name = "CREATE_TIME")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "CREATE_PERSON")
    public String getCreatePerson() {
        return createPerson;
    }

    public void setCreatePerson(String createPerson) {
        this.createPerson = createPerson;
    }


    @Basic
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
    @Column(name = "UPDATE_TIME")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "UPDATE_PERSON")
    public String getUpdatePerson() {
        return updatePerson;
    }

    public void setUpdatePerson(String updatePerson) {
        this.updatePerson = updatePerson;
    }

    @Basic
    @Column(name = "PROVINCE_RATIO")
    public Double getProvinceRatio() {
        return provinceRatio;
    }

    public void setProvinceRatio(Double provinceRatio) {
        this.provinceRatio = provinceRatio;
    }

    @Basic
    @Column(name = "OUTPROVINCE_RATIO")
    public Double getOutProvinceRatio() {
        return outProvinceRatio;
    }

    public void setOutProvinceRatio(Double outProvinceRatio) {
        this.outProvinceRatio = outProvinceRatio;
    }


    @Basic
    @Column(name = "MAJOR")
    public String getMajor() {
        return major;
    }

    public void setMajor(String major) {
        this.major = major;
    }

    @Basic
    @Column(name = "DEL_FLAG")
    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) { return true; }
        if (o == null || getClass() != o.getClass()) { return false; }
        ApExpertRegulatorInfoEntity that = (ApExpertRegulatorInfoEntity) o;
        return Objects.equals(id, that.id) &&
                Objects.equals(countryRatio, that.countryRatio) &&
                Objects.equals(regulatoryNum, that.regulatoryNum) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(createPerson, that.createPerson) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(updatePerson, that.updatePerson) &&
                Objects.equals(provinceRatio, that.provinceRatio) &&
                Objects.equals(outProvinceRatio, that.outProvinceRatio) &&
                Objects.equals(major, that.major) &&
                Objects.equals(delFlag, that.delFlag) &&
                Objects.equals(title, that.title) &&
                Objects.equals(taskId, that.taskId);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, countryRatio, regulatoryNum, createTime, createPerson, updateTime, updatePerson, provinceRatio, outProvinceRatio, major, delFlag, title, taskId);
    }
}
